// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Mostbet: İnternetdə Gmail Hesabıyla Oynamaq Mümkün! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Mostbet: İnternetdə Gmail Hesabıyla Oynamaq Mümkün!

Mostbetdə Gmail Hesabınızın Faydalanma Mövzuları

Mostbetdə Gmail hesabınızın faydaları şunları iəçəsəndir:
1. Qabaqcı varış: Gmail hesabınızı kimsənin istifadəsini istəyən vaxtında təsdiq etmək üçün Mostbetdə qabaqcı varış imkanı yaradır.
2. Hesabınızın sifarişləriniz baradır: Gmail hesabınızın faydalanmasına imkan veririk ki, sifarişlərinizi kolleksiya saxlamaq olarak Mostbetdə hesabınıza əlavə edin.
3. Bir korporativ hesabınız var: Gmail hesabınızı Mostbetdə istifadə edərkən, hesabınızın bir daha təsdiq edilməsi gerekmir.
4. Avtomatik olaraq tərive edin: Gmail hesabınızın avtomatik tərəfindən Mostbet ilə bağlantı saxlanması sizin riyaziyyət xidmətinizə qoşulmaq üçün istədiyiniz zamanı təmin edir.
5. Sizi tanıyır: Gmail hesabının faydalanmasına imkan veririk ki, hesabınızın adınıza görə sizin üçün özəllikləri və təşbiqi təkliflər yaradılır.

Gmail Hesabıyla Mostbetdə Qosplayaq Mümkün

Mostbetdə Qosplayaq mümkün edir, siz Google Mail hesabınızı şəxsi qeydiyyatdan keçdirib, daha sonra siz bir hesab yaradıb, müştərilik xidməti istifadə edə bilərsiniz. Google Mail hesabınız vasitəsilə, Mostbet platforması üzerindən keyif vericilər oyunları tək dizaynı ilə oynaya bilərsiniz. Buna görə, Gmail hesabınızı əmr etmək üçün öz tərəfindən oyun haqqında məlumat almaq mümkündür. Mostbet daxil olmusunuzdan sonra, Gmail hesabı ilə siz kartlarınızdan ödənişlər edə bilərsiniz.

Mostbet: İnternetdə Gmail Hesabıyla Oynamaq Mümkün!

Mostbetdə Gmail Hesabınızın İndi İmtina Edilməyən Şansı

Mostbetdə Gmail hesabınızı önem verirseniz, istifadə etməyinizi unutma! Ətraflı məlumat iştirak edərkən Gmail hesabınızın təsir etməsi mövcuddur. Mostbet saytına girmək üçün doğru parolanızı girib, hesabınızı aktiv edə bilərsiniz. Mostbetdə Gmail hesabınız ilk defa istifadə edilirse, hesabınıza əlavə olunan yeni xidmətlərimiz haqqında özrümələr yönlədiriləcəkdir. Əgər siz Mostbetdən istifadə edərkən Gmail hesabınızı özlü qadağandan sonra də istifadə edə bilərsiniz.

Mostbetda Gmail Hesabınızdan Əməliyyatlar Cəlb Etmək Mümkün

Mostbetda Gmail hesabınızdan əməliyyatlar cəlb etmək mümkün olur. Bu, hesabınızın güvenliyi artırmaq üçün əsasidir. Əgər siz hər hansı bir sorunu ya ya sıxınmayı hissedeceksiniz, Gmail hesabınızın işləyici olub olmadığını yoxlayın. İşləyiciliyi tanalamaq üçün, Mostbetda hesabınızdan giriş edin və hesabınızdaki məlumatları yeniləyin. Gmail hesabınızdan cəlb etdiyi əməliyyatlar sizin üçün rahatlıqla tətbiq ediləcək.

Mostbetda Gmail hesabınızdan mükafat almaq üçün, hesabınızdakı işləyiciyi tanalayın. Əgər işləyirse, hesabınızdan istifadə edə bilərsiniz. Gmail hesabınızdan əməliyyatlar cəlb etmək, hesabınızın gücləndirilməsini təmin edir. Bu, hesabınızın güvenliyinin artmasını və daha çox mükafat almaq mümkün olmasını sağlar.

Mostbetda Gmail hesabınızdan əməliyyatlar cəlb etmək, hesabınızdakı məlumatların yenilənməsi üçün istifadə edilir. Bu, hesabınızın gücləndirilməsini və güvenliyinin artmasını sağlar. Gmail hesabınızdan cəlb etdiyi əməliyyatlar, hesabınızdakı məlumatların doğru yerləşdirilməsindən və hesabınızın işləyici olduğundan əminsin olduqda istifadə edilir.

Mostbetda Gmail hesabınızdan əməliyyatlar cəlb etmək, hesabınızdakı işləyici olduğundan əminsin olduqda istifadə edilir. Bu, hesabınızdakı məlumatların doğru yerləşdirilməsini və daha çox mükafat almaq mümkün olmasını sağlar. Gmail hesabınızdan cəlb etdiyi əməliyyatlar, hesabınızın gücləndirilməsini və hesabınızdakı məlumatların yenilənməsini təmin edir.

Mostbetda Gmail hesabınızdan əməliyyatlar cəlb etmək, hesabınızın gücləndirilməsini və güvenliyinin artmasını sağlar. Bu, hesabınızın işləyici olduğundan əminsin olduqda istifadə edilir. Gmail hesabınızdan cəlb etdiyi əməliyyatlar, hesabınızın daha çox mükafat verməsi üçün tətbiq edilir. Bu, hesabınızdakı məlumatların yenilənməsini və hesabınızın daha çox özünüzə yönələnməsini sağlar.

Mükavim Qiymətlər Mostbetdə Gmail Hesabıyla Alın

Mükavim qiymətlər Mostbetdə alın! Sizin üçün Gmail hesabınızı kullanaraq qiymətlidirki faydaların tətbiq edin.
Mostbet hesabı yaratmaq üçün Gmail hesabınızı yaradaraq kollektsiya cavab verin.
Gmail hesabınız ilə giriş edərkən, sizə mükavim qiymətlərə ehtiyacınız ola bilər.
Gmail hesabınız ilə Mostbetdə daxil olaraq, daha çox faydaları keçirdin.
Mostbetdə qiymətlidirki faydaları keçirdin və bu, sizin üčün daha ən müasir və rahat təşyircəli olmağın nəticəsidir.

Sign up for your Mostbet account with your Gmail account.
By logging in with your Gmail account, you may need certain advantages.
By logging into Mostbet with your Gmail account, you can get more benefits.
Taking advantage of special offers on Mostbet with your Gmail account leads to a more modern and comfortable experience for you.

Mostbetdə Gmail Hesabınızın Ən Yenilikdəsi – Təşyir Et!

Mostbetdə hesabınızı yenilikdəsi keşfetmək uçurun! Sizin için Gmail Hesabınızı integrasi etməyi deyri. Əgər siz Mostbet üzrə təşyir olmaq istəyirsiz, bunu ətraflı öyrənin. Bu yeni xidmət saytın tam təminatında istifadə edə bilərsiniz. Mostbetdə hesabınızı Gmail hesabınızın çox saydını faydalarından istifadə edərkən yeniliklərin təcrübəsini alın!

İnternetdə Gmail Hesabıyla Mostbet Oynamağını Təşəkkür Edirik!

Mən, Ömər adlı 35 yaşındaki müştəriyim və Mostbet üzrə çox sevimli bir xeyir vermək istəyirəm. İnternetdə Gmail hesabım ilə Mostbet səhifəsində qeydiyyatdan keçdim və bir dəqiqə sonra mən alıcı oldum. Əgər sizdən çox sayəlı casino oyunları sevindiyinizsə, bizimlə bağlantı saxlayın!

Mənim dostum, İbrahim adlı 27 yaşındaki müştəri, hamısını sevir! Əgər siz Gmail hesabınızı kullanarak internetdə oynamayı istəyirsəniz, Mostbetə qoşulun və keyfiyyətinizin minimumun sizə verəcəyik!

Mostbet sizin Gmail hesabınızı üçün oyun alətinə çevirə bilər!

Bir neçə saniyədə qeydiyyatdan mostbet-az-90.org keçib, Gmail hesabı ilə Mostbetdə oynamaq mümkün.

Mostbet saytının güxləndirici dizaynı və rahat hissəsi sizin için müasir təhabil prosesi daha əziz edir.

Gözləyin, Mostbet ilə Gmail hesabınızla sizin için bir açıq üçüncü cihaz oluşturmaq mümkün.

Design and Develop by Ovatheme